// 订单查询参数
export interface ChargingOrderQueryVO {
  thirdPartyOrderNo?: string;
  platformId?: number;
  stationId?: number;
  thirdPartyPileCode?: string;
  syncStatus?: number;
  startTime?: string;
  endTime?: string;
  current: number;
  size: number;
}

// 订单信息
export interface ChargingOrder {
  id: number;
  orderNo: string;
  thirdPartyOrderNo: string;
  platformId: number;
  platformName: string;
  stationId: number;
  stationName: string;
  pileId: number;
  pileCode: string;
  thirdPileNo: string;
  chargingElec: number;
  actualAmount: number;
  electricityFee: number;
  serviceFee: number;
  syncStatus: number;
  createTime: string;
  updateTime: string;
}

// 分页结果
export interface PageResult<T> {
  records: T[];
  total: number;
  size: number;
  current: number;
}

// 订单统计结果
export interface ChargingOrderStatisticVO {
  orderCount: number;
  totalChargingElec: number;
  totalActualAmount: number;
  totalUnmatchCount: number;
}

export interface OrderVerifyBatchQuery {
  platformId?: number;
  batchNo?: string;
  status?: number;
  startTime?: string;
  endTime?: string;
  current: number;
  size: number;
}

export interface OrderVerifyBatch {
  id: number;
  batchNo: string;
  platformId: number;
  totalCount: number;
  successCount: number;
  failCount: number;
  status: number;
  createTime: string;
  updateTime: string;
  createBy: string;
  updateBy: string;
}

export interface OrderVerifyRequestVO {
  orderNo: string;
  pileCode: string;
  startTime: string;
  chargingPower: number;
  actualAmount: number;
  electricityFee: number;
  serviceFee: number;
  discountAmount: number;
}

export interface OrderVerifyResponse {
  batchNo: string;
  totalCount: number;
  successCount: number;
  failCount: number;
}

export interface Platform {
  id: number;
  name: string;
}

export interface Station {
  id: number;
  stationName: string;
}

// 对账验证记录
export interface OrderVerifyRecord {
  id: number;
  platformId: number;
  orderNo: string;
  pileCode: string;
  startTime: string;
  chargingElec: number;
  verifyStatus: number;
  unmatchReason: string;
  batchNo: string;
  createTime: string;
  updateTime: string;
  createBy: string;
  updateBy: string;
} 